<?


// Inicializar
/*********************************************************************************************************************/

$sso = new SSO();

// Numero de caso
if ($_GET['id']) {
	$n = $_GET['id'];
}

// Tomo todo lo demas (tag, usuario, estado, etc)
if ($_REQUEST['params']) {
	$params_string = addslashes($_REQUEST['params']);
	// Guardamos una copia del string de los filtros con guiones
	$params_guiones = $params_string;
}

// Pagina anterior
$back = $_info['usuario']['listado'];



/* Queries
/*********************************************************************************************************************/

// Obtenemos todos los tags posibles
// Para: taguear
$tags = Tags::listar();

// Obtenemos todas las areas posibles
// Para: mover
$areas = Areas::listar();

// Obtenemos los usuarios del area del usuario logueado
// Para: asignar
$usuarios = SSO::usuarios_listar($_info['usuario']['id_area']);

// Obtenemos los mails por area y tag
// Para: mover
$mail_tag = Areas::mail_tag();

// Tomo los datos del caso
$caso =  new Caso();
$caso_actual = $caso->get($n);



/* Interfaz
/*********************************************************************************************************************/


// Defino la vista
if ($caso_actual['caso']['id_area'] == $_info['usuario']['id_area'])
	$section = 'miarea';
if ($caso_actual['caso']['activo'] == 0)
	$section = 'archivo';
	
// Defino la info importante
$data = array(
	'id' => array(
		'descripcion' => 'ID del caso',
		'valor' => $caso_actual['caso']['id_caso']
	),
	'area' => array(
		'descripcion' => 'Area',
		'valor' => ucfirst($areas[$caso_actual['caso']['id_area']]['area'])
	),
	'estado' => array(
		'descripcion' => 'Estado',
		'valor' => ucfirst(Caso::estados_nombre($caso_actual['caso']['id_estado']))
	),
	'ultimo_mensaje' => array(
		'descripcion' => 'Ultimo mensaje',
		'valor' => $caso_actual['caso']['ultimo_mensaje']
	),
	'codigo' => array(
		'descripcion' => 'C&oacute;digo',
		'valor' => $caso_actual['caso']['codigo']
	),
	'fecha_inicio' => array(
		'descripcion' => 'Fecha de inicio',
		'valor' => $caso_actual['caso']['ctime']
	),
	'path' => array(
		'descripcion' => 'Path',
		'valor' => $caso_actual['caso']['path']
	),
	'mensajes_cantidad' => array(
		'descripcion' => 'Mensajes',
		'valor' => $caso_actual['caso']['mensajes']
	),
	'mensajes_nuevos' => array(
		'descripcion' => 'Mensajes nuevos',
		'valor' => $caso_actual['caso']['mensajes_nuevos']
	),
	'asignado' => array(
		'descripcion' => 'Usuario asignado',
		'valor' => 'Ninguno'
	)
);

// Me fijo si esta asignado
if ($caso_actual['caso']['id_usuario'] != 0) {
	// Cambio la seccion si es un caso propio
	if ($caso_actual['caso']['id_usuario'] == $_info['usuario']['id'])
		$section = 'miscasos';
	// Le agrego el usuario asignado a la info importante
	$asignado_user = SSO::usuario($caso_actual['caso']['id_usuario']);
	$data['asignado']['valor'] = $asignado_user['nombre'] . ' ' . $asignado_user['apellido'];
}

// Me fijo si esta siendo respondido
$respondiendo = $caso->siendo_respondido($caso_actual['caso']['id_caso']);
if ($respondiendo) {
	$respondiendo['usuario'] = $sso->usuario($respondiendo['id_usuario']);
}







// Listo el log de eventos
$log_listado = CasoLog::listar($caso_actual['caso']['id_caso']);





// Tomo el ID del caso y defino el ultimo mensaje
$caso_actual_id = $caso_actual['caso']['id_caso'];
$mensaje_actual_id = $caso_actual['caso']['ultimo_mensaje'];


//echo '<hr>inicio contenido';

// Cargo el contenido del mensaje actual
$contenido_actual = Mensajes::contenido($mensaje_actual_id);

//echo 'fin contenido<hr>';


// Averiguo la direccion de mail desde donde se va a responder,
// es decir el mail del area donde esta el caso
// o bien la asociada al area del usuario logueado
$mail_area_caso = ($caso_actual['caso']['id_area']) ? $areas[$caso_actual['caso']['id_area']]['mail'] : $areas[$_info['usuario']['id_area']]['mail'];





// Mensajes de exito o error
/*********************************************************************************************************************/

// Tomo el mensaje, en caso de haberlo
$aviso = json_decode($session->getFlash(), true);

if ($aviso['exito']) {
	// Agrupo los exitos si hay mas de uno
	if (count($aviso['exito']) > 1) {
		$exito_global = count($aviso['exito']) . ' casos se han podido ' . $verbo . ' con &eacute;xito';
	}
}





// Acciones
/*********************************************************************************************************************/

$acciones = array(
	'tomar' => array('CASO_ASIGNACION_PROPIA', 'AGREGAR'),
	'cerrar' => array('CASO_CIERRE_PROPIO', 'AGREGAR'),
	'cerrar sin encuesta' => array('CASO_CIERRE_SIN_ENCUESTA', 'AGREGAR'),
	'eliminar' => array('CASO_ELIMINAR', 'AGREGAR'),
	'mover' => array('CASO_MOVER', 'AGREGAR'),
	'asignar' => array('CASO_ASIGNACION_TERCEROS', 'AGREGAR'),
	'crear' => array('CASO_CREAR', 'AGREGAR'),
	'renunciar' => array('CASO_ASIGNACION_PROPIA', 'MODIFICAR'),
	'reabrir' => array('CASO_REABRIR', 'AGREGAR')
);

foreach($acciones as $key_accion => $value_accion) {
	if ($_info['usuario']['acl'][$value_accion[0]][$value_accion[1]]) {
		$permiso[$key_accion] =  true;
	}
}


// Preferencias
/*********************************************************************************************************************/

// Incluyo la interfaz
include('includes/tpl/header.tpl.php');
include('includes/tpl/caso.tpl.php');
include('includes/tpl/footer.tpl.php');


?>
